--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/frontend/designTokens.test.js bce42bcdce0e7d2c6d78228e864a4cd1d974cc82 (bce42bcd) Text, 4.05 KB
Tff7b72import Tb4b4b4{ Te6edf3describeTb4b4b4, Te6edf3itTb4b4b4, Te6edf3expectTb4b4b4, Te6edf3beforeEachTb4b4b4, Te6edf3afterEach Tb4b4b4} Tff7b72from Ta5d6ff"vitest"Tb4b4b4;
Tff7b72import Tb4b4b4{
Te6edf3injectMeshchatThemeVariablesTb4b4b4,
Te6edf3vuetifyThemesFromTokensTb4b4b4,
Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4,
Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4,
Te6edf3tailwindSemanticColorExtendTb4b4b4,
Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/theme/designTokens.js"Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"design tokens"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3itTb4b4b4(Ta5d6ff"light and dark variable maps define the same keys"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Tffa657ObjectTb4b4b4.Te6edf3keysTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4)Tb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toEqualTb4b4b4(
Tffa657ObjectTb4b4b4.Te6edf3keysTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4)Tb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"preserves legacy light palette anchors"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-canvas"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#f8fafc"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-surface"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#ffffff"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-accent"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#2563eb"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-action-primary"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#2563eb"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-error"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#dc2626"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-info"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#0284c7"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-success"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#16a34a"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-warning"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#f97316"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"preserves legacy dark palette anchors"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-canvas"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#09090b"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-surface"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#18181b"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-accent"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#60a5fa"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-action-primary"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#2563eb"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-error"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#f87171"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-info"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#38bdf8"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-success"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#34d399"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-warning"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"#fb923c"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"vuetifyThemesFromTokens tracks CSS canvas/surface/accent and status colors"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3t Tff7b72= Te6edf3vuetifyThemesFromTokensTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3tTb4b4b4.Te6edf3lightTb4b4b4.Te6edf3colorsTb4b4b4.Te6edf3backgroundTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-canvas"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3tTb4b4b4.Te6edf3lightTb4b4b4.Te6edf3colorsTb4b4b4.Te6edf3surfaceTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-surface"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3tTb4b4b4.Te6edf3lightTb4b4b4.Te6edf3colorsTb4b4b4.Te6edf3primaryTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-action-primary"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3tTb4b4b4.Te6edf3lightTb4b4b4.Te6edf3colorsTb4b4b4.Te6edf3errorTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_LIGHTTb4b4b4[Ta5d6ff"--mc-error"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3tTb4b4b4.Te6edf3darkTb4b4b4.Te6edf3colorsTb4b4b4.Te6edf3backgroundTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-canvas"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3tTb4b4b4.Te6edf3darkTb4b4b4.Te6edf3colorsTb4b4b4.Te6edf3surfaceTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-surface"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3tTb4b4b4.Te6edf3darkTb4b4b4.Te6edf3colorsTb4b4b4.Te6edf3primaryTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-action-primary"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3tTb4b4b4.Te6edf3darkTb4b4b4.Te6edf3colorsTb4b4b4.Te6edf3errorTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Te6edf3MESHCHAT_THEME_VARIABLES_DARKTb4b4b4[Ta5d6ff"--mc-error"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"tailwindSemanticColorExtend uses var() for every semantic color"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3sem Tff7b72= Te6edf3tailwindSemanticColorExtendTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3v Tff7b72of Tffa657ObjectTb4b4b4.Te6edf3valuesTb4b4b4(Te6edf3semTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3vTb4b4b4)Tb4b4b4.Te6edf3toMatchTb4b4b4(Ta5d6ff/^var\(--mc-/Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"injectMeshchatThemeVariables"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3beforeEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"meshchat-design-tokens"Tb4b4b4)Tff7b72?Tb4b4b4.Te6edf3removeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3afterEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"meshchat-design-tokens"Tb4b4b4)Tff7b72?Tb4b4b4.Te6edf3removeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"injects :root and .dark blocks with expected canvas values"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3injectMeshchatThemeVariablesTb4b4b4(Tffa657documentTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3el Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"meshchat-design-tokens"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3elTb4b4b4)Tb4b4b4.Te6edf3toBeTruthyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3text Tff7b72= Te6edf3elTb4b4b4.Te6edf3textContentTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff":root"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff".dark"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"--mc-canvas: #f8fafc"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"--mc-canvas: #09090b"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"is idempotent"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3injectMeshchatThemeVariablesTb4b4b4(Tffa657documentTb4b4b4)Tb4b4b4;
Te6edf3injectMeshchatThemeVariablesTb4b4b4(Tffa657documentTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Tffa657documentTb4b4b4.Te6edf3querySelectorAllTb4b4b4(Ta5d6ff"#meshchat-design-tokens"Tb4b4b4)Tb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────